package com.zhangxin.tree;

import java.util.List;

/**
 * 二叉树的操作：遍历-》先序遍历 ，中序遍历，后序遍历。（递归和非递归），层序遍历
 *
 */
public interface BinTreeOperate<T> {

    // 递归遍历

    List<T> inOrderTraversal(TreeNode root);

    List<T> preOrderTraversal(TreeNode root);

    List<T> postOrderTraversal(TreeNode root);

   // 非递归遍历
    List<T> inOrderTraversalNoeRecursion(TreeNode root);

    List<T> preOrderTraversalRecursion(TreeNode root);

    List<T> postOrderTraversalRecursion(TreeNode root);
    // 层序遍历

    List<T> levelOrderTRaversal(TreeNode root);
}
